🔔 Alerts
We want to notify beekeeper in various cases/features. For that we need a generic way to create and list alerts. We want to store alerts in DB and display them in UI.
User story - configuring alert channels
- User goes to settings page
- Under
Alerts
- sets an alert channel from the select
Alert me via: [email]
- Mobile phone notification (in case its a mobile-app)
- SMS (Twilio?)
- Telegram bot
- Webhooks integration
- sets an alert channel from the select
- Under alert types, he can choose (as checkbox) which alert types he wants to receive (the list should be quite long)
- swarming risk - Frame side queen cup detection
- hornet attacks - Hornet attack detection
- queen is missing - Queen detection
- queen is failing to lay eggs - Frame analysis - spotty brood pattern detection
- drone cell ratio is too high - Drone brood detection
- low/high temperature in the hive
- swarming has happened
- custom anomaly - should be tied to Analytics with grafana
User story - receiving a queen missing alert
- User uploads all of the hive frames
- All frames are processed
- No queen is detected
-
Alert is generated
-
alert is shown in the header
-
On click, alert popup appears
-
- Depending on alert channels, it is delivered to the user
- For email, user receives an email that
hive X has a missing queen
- Good wording, links, imagery, design is needed - ask Designer (UX / UI / Industrial)
- For email, user receives an email that
- Once user has acted upon this alert, user
approves an alert
effectively hiding/deleting it
Suggested technical solution
Create new alerts
microservice
- add new DB that it will use
- add graphql API that it will expose
- add
createAlert
mutation - add
alerts
query
- add
- service acts as a proxy. Actual alert generation should be owned by other services that contain the business logic